import Vue from 'vue'
import App from './App.vue'
import store from './utils/store'
import router from './utils/router'
import Antd from 'ant-design-vue';
import ElementUI from 'element-ui';
import '@/assets/index.style.css';
import vjform from 'vjform'
import expression from 'jpresent-transform-expression'

import IdInput from '@/components/utils/IdInput';
import IdJudge from '@/components/utils/IdJudge';
import PositionSelect from '@/components/utils/PositionSelect';
import AdminSelect from '@/components/utils/AdministrativeSelect';
import RoleSearch from '@/components/utils/RoleSearch';
import UserSearch from '@/components/utils/UserSearch';
import MetadataSelect from '@/components/utils/MetadataSelect'
import CustomButton from '@/components/utils/CustomButton'
import TraceInfo from '@/components/utils/TraceInfo'
import ListenInput from '@/components/utils/ListenInput'
import resize from 'vue-resize-directive'
Vue.use(Antd)
Vue.component('id-input', IdInput)
Vue.component('id-judge', IdJudge)
Vue.component('PositionSelect', PositionSelect)
Vue.component('AdminSelect', AdminSelect)
Vue.component('listen-input', ListenInput)
Vue.component('RoleSearch', RoleSearch)
const VJsoneditor = window.VJsoneditor.default;
Vue.component('v-jsoneditor', VJsoneditor);
Vue.component('vue-json-editor', VJsoneditor);
Vue.component('UserSearch', UserSearch);
Vue.component('MetadataSelect', MetadataSelect);
Vue.component('CustomButton', CustomButton)
Vue.component('TraceInfo', TraceInfo)
Vue.use(ElementUI)
// Vue.use(formCreate)
// import { elFormExtends } from './utils/designer'
vjform.use(expression)

Vue.use(vjform)
// Vue.use(jformer)
Vue.config.productionTip = false
Vue.prototype.$store = store
Vue.directive('resize', resize)
new Vue({
  router,
  render: h => h(App),
}).$mount('#app')
